/**
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package org.merak.core.model.settings;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;


/**
 * Copyright © 2010-2012 Merak Computing. All rights reserved.<br><br>
 *
 * Internationalization settings used as standard in the application.
 * By default, i18n is not used, except if resource or file is specified.
 *
 * @author fmarinho.
 * @version 1.00.00 - Aug 27, 2012 - fmarinho - initial version.
 *
 * @since MerakCore 1.00.00
 */
@XmlAccessorType(XmlAccessType.FIELD)
public class I18n  implements ISettings<I18n> {

	@XmlAttribute private String resource   = null;
	@XmlAttribute private String file       = null;
	@XmlAttribute private String baseLocale = null;

	/**
	 * Path to message files stored as resource.
	 * @since v 1.00.00
	 */
	public String getResource() {
		return this.resource;
	}

	/**
	 * Path to message files stored in the file system. Relatives paths are appended
	 * to ApplicationData/Configurations.
	 * @since v 1.00.00
	 */
	public String getFile() {
		return this.file;
	}

	/**
	 * The locale to be used instead of default system locale.
	 * @since v 1.00.00
	 */
	public String getBaseLocale() {
		return this.baseLocale;
	}

	/* (non-Javadoc)
	 * @see org.merak.core.settings.ISettings#update(org.merak.core.settings.ISettings)
	 */
	@Override
	public void update(I18n source) {

		this.resource   = source.resource;
		this.file       = source.file;
		this.baseLocale = source.baseLocale;

	}

}
